package com.ourteam.product.ui.dao;

import net.dao.IDataAccessInterface;

/**
 * Template Name : DAO接口模板 Template Version : 1 Template Last Modfiy Date : Thu Sep 21 11:14:14 CST
 * 2017 Auto Generate Date : 2018-12-14 15:15:04 Warning ! This file will be overwrite when
 * regenerate !
 */
public interface IBaseProductUIFormFieldDAO
    extends IDataAccessInterface<ProductUIFormField, ProductUIFormFieldDAOQueryBean> {

  /** Mapped Entity Name */
  static final String EntityName = "PRODUCT_UI_FORM_FIELD";

  /** Mapped Field ID */
  static final String Id = "PRODUCT_UI_FORM_FIELD.ID";

  /** Mapped Field PARENT_ID */
  static final String ParentId = "PRODUCT_UI_FORM_FIELD.PARENT_ID";

  /** Mapped Field FORM_ID */
  static final String FormId = "PRODUCT_UI_FORM_FIELD.FORM_ID";

  /** Mapped Field TYPE_ID */
  static final String TypeId = "PRODUCT_UI_FORM_FIELD.TYPE_ID";

  /** Mapped Field CODE */
  static final String Code = "PRODUCT_UI_FORM_FIELD.CODE";

  /** Mapped Field TITLE */
  static final String Title = "PRODUCT_UI_FORM_FIELD.TITLE";

  /** Mapped Field TITLE_KEY */
  static final String TitleKey = "PRODUCT_UI_FORM_FIELD.TITLE_KEY";

  /** Mapped Field TIP_INFO */
  static final String TipInfo = "PRODUCT_UI_FORM_FIELD.TIP_INFO";

  /** Mapped Field READ_ONLY */
  static final String ReadOnly = "PRODUCT_UI_FORM_FIELD.READ_ONLY";

  /** Mapped Field ALLOW_EMPTY */
  static final String AllowEmpty = "PRODUCT_UI_FORM_FIELD.ALLOW_EMPTY";

  /** Mapped Field DATA_SOURCE */
  static final String DataSource = "PRODUCT_UI_FORM_FIELD.DATA_SOURCE";

  /** Mapped Field STYLE */
  static final String Style = "PRODUCT_UI_FORM_FIELD.STYLE";

  /** Mapped Field PARAMETER_VALUE */
  static final String ParameterValue = "PRODUCT_UI_FORM_FIELD.PARAMETER_VALUE";

  /** Mapped Field SORT_INDEX */
  static final String SortIndex = "PRODUCT_UI_FORM_FIELD.SORT_INDEX";

  /** Mapped Field STATUS */
  static final String Status = "PRODUCT_UI_FORM_FIELD.STATUS";

  /** Mapped Field REMARKS */
  static final String Remarks = "PRODUCT_UI_FORM_FIELD.REMARKS";

  /** Mapped Field MODEL_PROPERTY_ID */
  static final String ModelPropertyId = "PRODUCT_UI_FORM_FIELD.MODEL_PROPERTY_ID";

  /** Mapped Field FIELD_SPAN */
  static final String FieldSpan = "PRODUCT_UI_FORM_FIELD.FIELD_SPAN";

  /** Mapped Field FIELD_COLUMN */
  static final String FieldColumn = "PRODUCT_UI_FORM_FIELD.FIELD_COLUMN";

  /** Mapped Field REMENBER_VALUE */
  static final String RemenberValue = "PRODUCT_UI_FORM_FIELD.REMENBER_VALUE";

  /** Mapped Attribute typeWidget */
  static final String TypeWidget =
      org.apache.commons.lang.StringUtils.replace(
          com.ourteam.product.ui.dao.IProductUIFormFieldTypeDAO.TypeWidget,
          com.ourteam.product.ui.dao.IProductUIFormFieldTypeDAO.EntityName + ".",
          "PRODUCT_UI_FORM_FIELD_TYPE.");

  /** Mapped Attribute typeName */
  static final String TypeName =
      org.apache.commons.lang.StringUtils.replace(
          com.ourteam.product.ui.dao.IProductUIFormFieldTypeDAO.TypeName,
          com.ourteam.product.ui.dao.IProductUIFormFieldTypeDAO.EntityName + ".",
          "PRODUCT_UI_FORM_FIELD_TYPE.");

  /** Mapped Attribute allowSubField */
  static final String AllowSubField =
      org.apache.commons.lang.StringUtils.replace(
          com.ourteam.product.ui.dao.IProductUIFormFieldTypeDAO.AllowSubField,
          com.ourteam.product.ui.dao.IProductUIFormFieldTypeDAO.EntityName + ".",
          "PRODUCT_UI_FORM_FIELD_TYPE.");

  /** Mapped Attribute typeIcon */
  static final String TypeIcon =
      org.apache.commons.lang.StringUtils.replace(
          com.ourteam.product.ui.dao.IProductUIFormFieldTypeDAO.TypeIcon,
          com.ourteam.product.ui.dao.IProductUIFormFieldTypeDAO.EntityName + ".",
          "PRODUCT_UI_FORM_FIELD_TYPE.");

  /** Mapped Attribute dataSourceCode */
  static final String DataSourceCode =
      org.apache.commons.lang.StringUtils.replace(
          com.ourteam.product.ui.dao.IProductUIListDAO.Code,
          com.ourteam.product.ui.dao.IProductUIListDAO.EntityName + ".",
          "RELATED_GLHNE4_ProductUIList.");

  /** Mapped Attribute dataSourceName */
  static final String DataSourceName =
      org.apache.commons.lang.StringUtils.replace(
          com.ourteam.product.ui.dao.IProductUIListDAO.Name,
          com.ourteam.product.ui.dao.IProductUIListDAO.EntityName + ".",
          "RELATED_GLHNE4_ProductUIList.");

  public static interface DataProperty {

    /** Attribute modelPropertyId */
    static final String ModelPropertyId = "modelPropertyId";

    /** Attribute id */
    static final String Id = "id";

    /** Attribute parentId */
    static final String ParentId = "parentId";

    /** Attribute formId */
    static final String FormId = "formId";

    /** Attribute typeId */
    static final String TypeId = "typeId";

    /** Attribute code */
    static final String Code = "code";

    /** Attribute title */
    static final String Title = "title";

    /** Attribute titleKey */
    static final String TitleKey = "titleKey";

    /** Attribute tipInfo */
    static final String TipInfo = "tipInfo";

    /** Attribute readOnly */
    static final String ReadOnly = "readOnly";

    /** Attribute allowEmpty */
    static final String AllowEmpty = "allowEmpty";

    /** Attribute dataSource */
    static final String DataSource = "dataSource";

    /** Attribute style */
    static final String Style = "style";

    /** Attribute parameterValue */
    static final String ParameterValue = "parameterValue";

    /** Attribute sortIndex */
    static final String SortIndex = "sortIndex";

    /** Attribute status */
    static final String Status = "status";

    /** Attribute remarks */
    static final String Remarks = "remarks";

    /** Attribute typeWidget */
    static final String TypeWidget = "typeWidget";

    /** Attribute typeName */
    static final String TypeName = "typeName";

    /** Attribute allowSubField */
    static final String AllowSubField = "allowSubField";

    /** Attribute typeIcon */
    static final String TypeIcon = "typeIcon";

    /** Attribute dataSourceCode */
    static final String DataSourceCode = "dataSourceCode";

    /** Attribute dataSourceName */
    static final String DataSourceName = "dataSourceName";

    /** Attribute fieldSpan */
    static final String FieldSpan = "fieldSpan";

    /** Attribute fieldColumn */
    static final String FieldColumn = "fieldColumn";

    /** Attribute remenberValue */
    static final String RemenberValue = "remenberValue";
  }

  public static interface _DataObjectProperty extends DataProperty {}

  /**
   * Delete Data
   *
   * @param final long id
   * @throws Exception
   */
  void delete(final long id) throws Exception;
  /**
   * Find Data By Primary Key
   *
   * @param final long id
   * @throws Exception
   */
  ProductUIFormField findById(final long id) throws Exception;
}
